package Create.FactoryMethod;

import java.security.NoSuchAlgorithmException;
import java.time.LocalDate;

/**
 * Author  zxy
 * Date  2022/12/28 下午 3:16
 * 1.工厂方法是指定义工厂接口和产品接口，但如何创建实际工厂和实际产品被推迟到子类实现，
 *   从而使调用方只和抽象工厂与抽象产品打交道。
 * 2.实际更常用的是更简单的静态工厂方法，它允许工厂内部对创建产品进行优化。
 * 3.调用方尽量持有接口或抽象类，避免持有具体类型的子类，以便工厂方法能随时切换不同的
 *   子类返回，却不影响调用方代码。
 **/

public class Main {

	public static void main(String[] args) throws NoSuchAlgorithmException {
		LocalDate ld = LocalDateFactory.fromInt(20200202);
		System.out.println(ld);
		LocalDate ld2 = LocalDateFactory.fromInt(20200202);
		System.out.println(ld == ld2);
	}
}
